The present state of technology indicates that the future will provide numerous situations wherein it will be desirable to distribute an accurate time reference to numerous locations. It is further obvious that any technique that satisfies one application of a distributed time reference may also be useful for the others. An accurate time reference distributed to the nodes of a digital communications network obviously can be applied to the synchronization of that network, and the network could provide such a distribution. In addition to digital communications network synchronization, accurate time distributed through such a network may have other applications both within the network and for network subscribers.
In an early time reference distribution concept (DCASEP TC 39-73, "Time Reference Concept for the Timing and Synchronization of the Digital DCS", H. A. Stover, July, 1973 and H. A. Stover, "A Time Reference Distribution Concept for a Time Division Communications Network", Proceedings of the Fifth Annual NASA, Department of Defense Precise Time and Time Interval (PTTI) Planning Meeting, NASA, Goddard Space Flight Center, Greenbelt, Md. (Dec. 4-6, 1973), the internodal transmission time was removed in the transfer of the time reference from one node to another, the time reference from the highest ranking node in the network was supplied to all nodes over the best available path to each node. This procedure avoided feedback paths that could potentially contribute to instability. Later, capability was added to permit the distribution of the time reference through several tandem nodes to be indepedent from the actual correction of the clocks at those nodes (H. A. Stover, "Coordinated Universal Time (UTC) as a Timing Basis for a Digital Communications Network", EASCON 1974 Record). However, that technique of selecting the best path to the highest ranking node failed to use much of the available information that could provide a more accurate and more stable (low phase fluctuation) system. The present invention relates, inter alia, to a technique which does make good use of this additional information.
Although the discussion here is applied to the use of accurate time for synchronizing a large switched digital communications network, availability of accurate time as provided by distributing an accurate time reference through such a network could have many other applications. For example, if a radio signal with any identifiable characteristic which is not ambiguous in time is received at three noncolinear locations, its orgin relative to the receiver locations can be determined by comparing the times of signal reception.
The communication of information in digital form is expanding very rapidly. Part of this rapid expansion can be attributed to communications with digital computers, but perhaps even greater significance belongs to the advantages that can be provided to many types of communications for a broad range of users. The ability to regenerate nearly noise free signals whenever they are retransmitted is important, as is the use of error correcting codes for further error reduction. Error detection can provide confidence that the received message is an accurate copy of the one transmitted, and digital techniques are particularly useful for those signals that must be encrypted.
However, digital communications networks employing time division multiplexers have a timing (synchronization) requirement that did not exist in analog communications networks. For every output time slot of the time division multiplexer, the assigned bit from the appropriate input bit stream must be available when it is needed. Otherwise a bit or bits might be lost which could sometimes result in further disorder. In a large digital communications network, bits assigned to adjacent multiplexer time slots might originate in widely separated geographical locations. In a switched digital network, time slot assignments are changed frequently so that bits presently assigned to particular time slots originate in locations entirely different from those previously assigned to corresponding (same location in the frame) time slots. In an operating digital communications system, the probability is very small that all bits from several different neighboring nodes will arrive at the exact moments when they are needed to fill their assigned time slots. This is because signal transit times between nodes will fluctuate, and clocks controlling transmission from different nodes probably are not perfectly synchronized. To accommodate the variation in arrival times of bits from different nodes, a variable storage buffer can be provided for each received bit stream to serve as a reservoir in which bits are temporarily stored until they are needed. The local nodal clock controls the release of bits from the buffer so that they coincide with their assigned time slots. In order to assure that the buffers will neither overflow nor empty, causing disorder, either clocks at all nodes must be kept within some acceptable phase tolerance of one another or the communications traffic must be interrupted occasionally to reset the buffers.
There are many methods of providing the necessary clock synchronization (J. W. Pan, "Synchronizing and Multiplexing in a Digital Communications Network", Proc IEEE, Vol. 60, No. 5, (May 1976) pp 594-601, and Defense Communications Engineering Center Technical Report 43-75, "Communications Network Timing", H. A. Stover, September, 1975). These include such techniques as pulse stuffing, mutual synchronization, precise independent clocks, external time references, master slave, and internal time reference distribution. It is obvious that if accurate time were available at each node, it would be useful for network synchronization. Two of these techniques attempt to set all network nodal clocks (or at least those at major nodes) to the same time. The external time reference technique attempts to set them all to a standard time supplied by some reference signal external to the network, e.g., a Loran-C navigation system signal. The time reference distribution technique attempts to set all network clocks to the same time as a master clock within the network. Loran-C is referenced to Coordinated Universal Time (UTC) (J. F. Roeber, Jr., "Loran-C Expansion: Impact on Precise Time/Time Interval", Proceedings of the Sixth Annual Precise Time and Time Interval (PTTI) Planning Meeting, Washington, D.C., Dec. 3-5, 1974, pp 305-318.), but it does not have world-wide coverage. If the master node of a communications network employing a time reference distribution technique is also referenced to UTC (H. A. Stover, "Coordinated Universal Time (UTC) as a Timing Basis for a Digital Communications Network", EASCON 1974 Record), the communications network and the navigation network could mutually support one another to provide a very dependable timing system.
In the time reference distribution technique as previously described, all nodes are kept within a specified time (phase) tolerance of the master node. Nodal clocks run independently most of the time but are occasionally updated. Time reference information is transferred between all connected nodes with the effects of signal transit time removed, but the time reference used at any node is that which comes over the best path to the highest ranking node. This restriction to the best path from the highest ranking node unnecessarily limits the technique as will become evident later. Replacing this best path approach with a better approach will be shown to provide considerable improvement.
There are three major functions related to time reference distribution through a network: (1) measurement of the local clock's time error, (2) selection and/or weighting of the paths over which the time reference is distributed through the network, and (3) correction of the time error of the local clock. For several reasons, it is important that the first two functions should not be affected by the correction of the clock error at any other node. For example, there should be freedom to adapt the frequency and rate of making corrections to the clock at another node so as to optimize other system paramaters without significantly influencing the measurement of the time error in the local clock or the selection or weighting of time reference distribution paths.
It is also desirable that the time reference distribution system not contain any closed distribution paths (those that re-enter themselves). Such paths can contribute to system instability and inaccuracy. This is particularly true for a system spread over a wide geographical area and subject to varying signal propagation conditions because of the large signal delays involved.
Some procedures could be expected to be the same for all three of the time reference distribution techniques (the one using the best path from the master, and also the other time reference distribution techniques combining information from multiple paths). Methods for measuring the time difference between clocks of directly connected (neighboring) nodes can be the same for many different approaches and a method which can be used for several of them is discussed next.
All digital communications systems, even those consisting of only a single link, need some type of link synchronization in order to properly identify and assign all received bits. One link synchronization method periodically inserts a synchronization code in the data stream of the transmission link. A link synchronization code is normally chosen so that it is unlikely to occur as a part of the data sequence. This requirement can be satisfied by transmitting the synchronization code with greater regularity than it would randomly occur. Barker sequences (Barker, R. H., "Group Synchronization of Binary Digital Systems", Communication Theory, W. Jackson, ed. New York, Academic Press Inc. 1953, 273-87) are often used for this purpose because they do not strongly correlate with phase shifted versions of themselves.
The synchronization codes can be used to break the data stream into frames of various levels, e.g., frames, subframes, superframes, etc. A basic frame might use the same repetitive code pattern most of the time, but one out of a specified multiple of these frames can periodically have its code pattern altered, e.g., inverted, to identify a superframe period. Extensions of this technique will allow the frame ambiguity period to be made as long as desired. The frame synchronization codes, used to enable receivers to synchronize with the received signals, can also be used for comparing time differences between nodal clocks at the two ends of a duplex transmission link. The nodal clock at each transmitter can be used to control the time of transmission of the synchronization code. The time of reception of the synchronization code can be measured relative to the nodal clock at the receiver. Neglecting noise (which includes instrumentation errors), the measured time difference between the received synchronization code and the nodal clock is due to two sources: the transit time of the signal, and the difference between the two clocks.
If each node transmits its measurement to the node at the other end of the link, both measurements are available at both ends of the link and the time difference between the two clocks can be determined. Let T.sub.A be the time of the clock at node A, T.sub.B be the time of the clock at node B, D.sub.AB be the signal transit time from node A to node B, and D.sub.BA the signal transit time from node B to node A. Then the time difference measured at node A between the synchronization code received from node B and the local clock at node A is given by Equation 1: EQU .DELTA. T.sub.A = T.sub.A - (T.sub.B - D.sub.BA) (1)
the time difference measured at node B between the synchronization code received from node A and the local clock at node B is given by Equation 2: EQU .DELTA. T.sub.B = T.sub.B - (T.sub.A - D.sub.AB) (2)
solving Equations (1) and (2) for T.sub.B - T.sub.A gives Equation 3: ##EQU1##
When the transit times in the two directions are the same, (D.sub.BA = D.sub.AB), they cancel, giving the time difference between the two nodal clocks with the transmission transit times removed. For most applications in high capacity transmission links, this difference in transmission time in the two directions will be very small and could be considered negligible. (If desired, its initial value can be measured by using a portable clock at the time of installation.) However, a statistical estimate of this (D.sub.BA - D.sub.AB) difference can be useful for a time reference distribution system which combines timing information from multiple paths, and it will be discussed further later.
If Equation (1) and Equation (2) are added, the round trip signal transit time is obtained as given in Equation 4. EQU D.sub.AB + D.sub.BA = .DELTA. T.sub.A + .DELTA. T.sub.B ( 4)
although this discussion has assumed that the frame synchronization code is used for time comparison of neighboring nodal clocks, under some circumstances it might be preferable to use low-level spread spectrum signals or some other special type of modulation which can be superimposed on the message traffic without introducing interference.